//  使用类上的一种方法来获取 唯一的类  Singleton.getInstance
//这种方法的单例模式意义不大  原因在于使用的不透明性
let Singleton = function(name){
    this.name=name
}


Singleton.prototype.getName=function(){
    return this.name
}
/*
Singleton.instance=null
Singleton.getInstance=function(name){
    if(this.instance){
        return this.instance
    }else{
        this.instance=new Singleton(name)
        return this.instance
    }
}
*/

Singleton.getInstance=(function(){
    var instance=null
    return function(name){
        if(!instance){
            instance=new Singleton(name)
        }
        return instance
    }
})()
let a = Singleton.getInstance('aa')
let b = Singleton.getInstance('bb')
console.log(a===b);